// console.log(foo());  // foo2 函数提升 声明提升可以打印出来 另一种写法（函数表达式）不会提升

// function foo() {

//     console.log('foo2');
//     return 1

// }

// let value = 1
// console.log(value);

// function foo() {
//     console.log(a);
//     a = 1;
// }

// console.log(foo());; //a没有被定义 意思是a没有出现  因为a在后面 let和var都没有
// // ----------
// console.log(foo);//打印的是函数 而不是变量foo

// function foo() {
//     console.log("foo");
// }

// var foo = 1;

// var foo1 = 1;
// var fooReference = {
//     // base: EnvironmentRecord,
//     name: 'foo',
//     strict: false
// };
// let b = 1
// let a = (b, b)
// console.log(a);



// console.log(i, '---i');
// // ---------------
// var canConstruct = function (ransomNote, magazine) {
//     counter = function (s) {
//         const res = new Array(26)
//         res.fill(0)
//         for (let i = 0; i < s.length; i++)
//             res[s.charCodeAt(i) - 'a'.charCodeAt()]++//这行看不懂
//         return res
//     }

//     const r = counter(ransomNote), m = counter(magazine)
//     for (let i = 0; i < r.length; i++)
//         if (r[i] > m[i])
//             return false
//     return true
// };

console.log('--array.tostring--', ['<li>1</li/>', '<li>2</li/>'].toString()
);

['<li>1</li/>', '<li>2</li/>']

